// 单件设计模式[饿汉式单间设计模式 (立即创建杜对象)]
/**
 * 1. 把构造器设置为私有的,不允许外部来创建类的实例[对象]
 * 2. 建立一个对象的静态引用属性,同时吧静态引用属性直接指向一个对象[new MyLocalStorage]
 * 3. 外部调用第二步提供的静态方法来获取一个对象
 *
 */
export default class MyLocalStorage {
  // 静态引用类型->指向一个对象
  static localstorage: MyLocalStorage = new MyLocalStorage();
  
  private constructor(){
    console.log('构造器');
  }

  // 保存key-value
  public setItem(key: string, value: any) {
    localStorage.setItem(key, JSON.stringify(value));
  }

  public getItem(key: string) {
    let value = localStorage.getItem(key);
    return value ? JSON.parse(value) : null;
  }
}

// let l = MyLocalStorage.localstorage;
// l.setItem('yy','ww')
// l.getItem('yy')